#import <Foundation/Foundation.h>
#import "USAdditions.h"
#import <libxml/tree.h>
#import "USGlobals.h"
#import <objc/runtime.h>
#import "tns1.h"
/* Cookies handling provided by http://en.wikibooks.org/wiki/Programming:WebObjects/Web_Services/Web_Service_Provider */
#import <libxml/parser.h>
#import "xs.h"
#import "interface.h"
#import "tns1.h"
@class interfaceSoapBinding;
@interface interface : NSObject {
	
}
+ (interfaceSoapBinding *)interfaceSoapBinding;
@end
@class interfaceSoapBindingResponse;
@class interfaceSoapBindingOperation;
@protocol interfaceSoapBindingResponseDelegate <NSObject>
- (void) operation:(interfaceSoapBindingOperation *)operation completedWithResponse:(interfaceSoapBindingResponse *)response;
@end
#define kServerAnchorCertificates   @"kServerAnchorCertificates"
#define kServerAnchorsOnly          @"kServerAnchorsOnly"
#define kClientIdentity             @"kClientIdentity"
#define kClientCertificates         @"kClientCertificates"
#define kClientUsername             @"kClientUsername"
#define kClientPassword             @"kClientPassword"
#define kNSURLCredentialPersistence @"kNSURLCredentialPersistence"
#define kValidateResult             @"kValidateResult"
@interface interfaceSoapBinding : NSObject <interfaceSoapBindingResponseDelegate> {
	NSURL *address;
	NSTimeInterval timeout;
	NSMutableArray *cookies;
	NSMutableDictionary *customHeaders;
	BOOL logXMLInOut;
	BOOL ignoreEmptyResponse;
	BOOL synchronousOperationComplete;
	id<SSLCredentialsManaging> sslManager;
	SOAPSigner *soapSigner;
}
@property (nonatomic, copy) NSURL *address;
@property (nonatomic) BOOL logXMLInOut;
@property (nonatomic) BOOL ignoreEmptyResponse;
@property (nonatomic) NSTimeInterval timeout;
@property (nonatomic, retain) NSMutableArray *cookies;
@property (nonatomic, retain) NSMutableDictionary *customHeaders;
@property (nonatomic, retain) id<SSLCredentialsManaging> sslManager;
@property (nonatomic, retain) SOAPSigner *soapSigner;
+ (NSTimeInterval) defaultTimeout;
- (id)initWithAddress:(NSString *)anAddress;
- (void)sendHTTPCallUsingBody:(NSString *)body soapAction:(NSString *)soapAction forOperation:(interfaceSoapBindingOperation *)operation;
- (void)addCookie:(NSHTTPCookie *)toAdd;
- (NSString *)MIMEType;
- (interfaceSoapBindingResponse *)updateUserUsingParameters:(tns1_updateUser *)aParameters  headerElements:(NSDictionary *)headerElements;
- (void)updateUserAsyncUsingParameters:(tns1_updateUser *)aParameters  headerElements:(NSDictionary *)headerElements delegate:(id<interfaceSoapBindingResponseDelegate>)responseDelegate ;
- (interfaceSoapBindingResponse *)getTeachersBySubjectUsingParameters:(tns1_getTeachersBySubject *)aParameters  headerElements:(NSDictionary *)headerElements;
- (void)getTeachersBySubjectAsyncUsingParameters:(tns1_getTeachersBySubject *)aParameters  headerElements:(NSDictionary *)headerElements delegate:(id<interfaceSoapBindingResponseDelegate>)responseDelegate ;
- (interfaceSoapBindingResponse *)loginCheckUsingParameters:(tns1_loginCheck *)aParameters  headerElements:(NSDictionary *)headerElements;
- (void)loginCheckAsyncUsingParameters:(tns1_loginCheck *)aParameters  headerElements:(NSDictionary *)headerElements delegate:(id<interfaceSoapBindingResponseDelegate>)responseDelegate ;
- (interfaceSoapBindingResponse *)userRegisterForParentUsingParameters:(tns1_userRegisterForParent *)aParameters  headerElements:(NSDictionary *)headerElements;
- (void)userRegisterForParentAsyncUsingParameters:(tns1_userRegisterForParent *)aParameters  headerElements:(NSDictionary *)headerElements delegate:(id<interfaceSoapBindingResponseDelegate>)responseDelegate ;
- (interfaceSoapBindingResponse *)userRegisterForTeacherUsingParameters:(tns1_userRegisterForTeacher *)aParameters  headerElements:(NSDictionary *)headerElements;
- (void)userRegisterForTeacherAsyncUsingParameters:(tns1_userRegisterForTeacher *)aParameters  headerElements:(NSDictionary *)headerElements delegate:(id<interfaceSoapBindingResponseDelegate>)responseDelegate ;
@end
@interface interfaceSoapBindingOperation : NSOperation {
	interfaceSoapBinding *binding;
	interfaceSoapBindingResponse *response;
	id<interfaceSoapBindingResponseDelegate> delegate;
	NSMutableData *responseData;
	NSURLConnection *urlConnection;
}
@property (nonatomic, retain) interfaceSoapBinding *binding;
@property (nonatomic, readonly) interfaceSoapBindingResponse *response;
@property (nonatomic, assign) id<interfaceSoapBindingResponseDelegate> delegate;
@property (nonatomic, retain) NSMutableData *responseData;
@property (nonatomic, retain) NSURLConnection *urlConnection;
- (id)initWithBinding:(interfaceSoapBinding *)aBinding delegate:(id<interfaceSoapBindingResponseDelegate>)aDelegate;
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error;
@end
@interface interfaceSoapBinding_updateUser : interfaceSoapBindingOperation {
	tns1_updateUser * parameters;
	NSDictionary * headerElements;
}
@property (nonatomic, retain) tns1_updateUser * parameters;
@property (nonatomic, retain) NSDictionary * headerElements;
- (id)initWithBinding:(interfaceSoapBinding *)aBinding delegate:(id<interfaceSoapBindingResponseDelegate>)aDelegate
	parameters:(tns1_updateUser *)aParameters headerElements:(NSDictionary *)headers
;
@end
@interface interfaceSoapBinding_getTeachersBySubject : interfaceSoapBindingOperation {
	tns1_getTeachersBySubject * parameters;
	NSDictionary * headerElements;
}
@property (nonatomic, retain) tns1_getTeachersBySubject * parameters;
@property (nonatomic, retain) NSDictionary * headerElements;
- (id)initWithBinding:(interfaceSoapBinding *)aBinding delegate:(id<interfaceSoapBindingResponseDelegate>)aDelegate
	parameters:(tns1_getTeachersBySubject *)aParameters headerElements:(NSDictionary *)headers
;
@end
@interface interfaceSoapBinding_loginCheck : interfaceSoapBindingOperation {
	tns1_loginCheck * parameters;
	NSDictionary * headerElements;
}
@property (nonatomic, retain) tns1_loginCheck * parameters;
@property (nonatomic, retain) NSDictionary * headerElements;
- (id)initWithBinding:(interfaceSoapBinding *)aBinding delegate:(id<interfaceSoapBindingResponseDelegate>)aDelegate
	parameters:(tns1_loginCheck *)aParameters headerElements:(NSDictionary *)headers
;
@end
@interface interfaceSoapBinding_userRegisterForParent : interfaceSoapBindingOperation {
	tns1_userRegisterForParent * parameters;
	NSDictionary * headerElements;
}
@property (nonatomic, retain) tns1_userRegisterForParent * parameters;
@property (nonatomic, retain) NSDictionary * headerElements;
- (id)initWithBinding:(interfaceSoapBinding *)aBinding delegate:(id<interfaceSoapBindingResponseDelegate>)aDelegate
	parameters:(tns1_userRegisterForParent *)aParameters headerElements:(NSDictionary *)headers
;
@end
@interface interfaceSoapBinding_userRegisterForTeacher : interfaceSoapBindingOperation {
	tns1_userRegisterForTeacher * parameters;
	NSDictionary * headerElements;
}
@property (nonatomic, retain) tns1_userRegisterForTeacher * parameters;
@property (nonatomic, retain) NSDictionary * headerElements;
- (id)initWithBinding:(interfaceSoapBinding *)aBinding delegate:(id<interfaceSoapBindingResponseDelegate>)aDelegate
	parameters:(tns1_userRegisterForTeacher *)aParameters headerElements:(NSDictionary *)headers
;
@end
@interface interfaceSoapBinding_envelope : NSObject {
}
+ (interfaceSoapBinding_envelope *)sharedInstance;
- (NSString *)serializedFormUsingHeaderElements:(NSDictionary *)headerElements bodyElements:(NSDictionary *)bodyElements bodyKeys:(NSArray *)bodyKeys;
@end
@interface interfaceSoapBindingResponse : NSObject {
	NSArray *headers;
	NSArray *bodyParts;
	NSError *error;
}
@property (nonatomic, retain) NSArray *headers;
@property (nonatomic, retain) NSArray *bodyParts;
@property (nonatomic, retain) NSError *error;
@end
